<#import "Common.ftl" as zbsgc>
/**
* 版权所有：福建邮科电信业务部厦门研发中心 
*====================================================
* 文件名称: ${fileMeta.serviceImplClazzName}.java
* 修订记录：
* No    日期				作者(操作:具体内容)
* 1.    ${date}			    zbsGC(创建:创建文件)
*====================================================
* 类描述： 
* 
*/
package ${fileMeta.serviceImplPackage};

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.devframe.sys.util.page.PageInfo;
import com.devframe.web.util.user.UserInfo;
import com.devframe.sys.util.common.BeanCopyUtil;
import ${fileMeta.serviceClazzFullName};
import com.devframe.sys.util.assertion.Assert;
import com.fsti.tdap.service.common.impl.CommonHandleServiceImpl;
import ${fileMeta.daoClazzFullName};

import ${beanMeta.clazzFullName};

@Service(value="${fileMeta.serviceInstanceName}") 
public class ${fileMeta.serviceImplClazzName} extends CommonHandleServiceImpl<${beanMeta.clazzName}> implements ${fileMeta.serviceClazzName}{

	@Autowired
	private ${fileMeta.daoClazzName} ${fileMeta.daoInstanceName};
   /**
    根据ID获取详情
   */
   public ${beanMeta.clazzName} ${methodMeta.serviceGetMethod}(${beanMeta.idField.fieldType} id){
   		Assert.notNull(id,"主键不为空");
		${beanMeta.clazzName} ${beanMeta.entityName}=super.get(${beanMeta.clazzName}.class, id);
		return ${beanMeta.entityName};
   }

   /**
     保存方法
   */
   public void ${methodMeta.serviceCreateMethod}(${beanMeta.clazzName} ${beanMeta.entityName},UserInfo userInfo){
   	   //其他设置操作
   	   
       super.save(${beanMeta.entityName});
   }

   /**
    修改方法
   */
   public void ${methodMeta.serviceUpdateMethod}(${beanMeta.clazzName} ${beanMeta.entityName},UserInfo userInfo){
   		Assert.notNull(${beanMeta.entityName}.${beanMeta.getIdFieldMethodName}(),"主键ID不为空");
   		//其他操作
   		//获取
   		${beanMeta.clazzName} db${beanMeta.clazzName}=this.${methodMeta.serviceGetMethod}(${beanMeta.entityName}.${beanMeta.getIdFieldMethodName}());
   		
		//进行拷贝处理
		BeanCopyUtil.copyBeanProperties(${beanMeta.entityName}, db${beanMeta.clazzName});
		super.update(db${beanMeta.clazzName});
   }
   
   /** 
    删除方法
   */
   public void ${methodMeta.serviceDeleteMethod}(${beanMeta.idField.fieldType} id){
   		Assert.notNull(id, "id不能为空!");
		super.delete(${beanMeta.clazzName}.class, id);
   }
   
   /**
   分页查询方法
   */
   public PageInfo ${methodMeta.serviceQueryPageMethod}(${beanMeta.clazzName} ${beanMeta.entityName},PageInfo pageInfo,UserInfo userInfo){
   		//其他操作
   		//查询操作
   		return this.${fileMeta.daoInstanceName}.${methodMeta.serviceQueryPageMethod}(${beanMeta.entityName},pageInfo);
   }

   /**
   普通查询方法
   */
   public List<${beanMeta.clazzName}> ${methodMeta.serviceQueryListMethod}(${beanMeta.clazzName} ${beanMeta.entityName},UserInfo userInfo){
   		//其他操作
   		//查询操作
   		return this.${fileMeta.daoInstanceName}.${methodMeta.serviceQueryListMethod}(${beanMeta.entityName});
   }


	
}
